Software systems and applications are typically designed using a single default language. In most cases, such single standard language is English. However, for today's software applications, internationalization and localization and, especially, the provisioning and support of different languages may be mandatory. Internationalization and localization can refer to ways of adapting software applications to different languages, regional differences, and/or technical requirements of a particular market. Internationalization refers to a process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization refers to a process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text. Many different and sophisticated software engineering approaches have been designed to define, change, translate, and install language-dependent texts for software applications.
Many current software applications do not support reuse of same textual expressions in different user interface components (e.g., labels, captions, titles, push buttons, error messages, etc.) running in different language environments. The current practice, for developers using language-dependent texts, is to search for an already existing text in a particular language and, if the text in that particular language is available, reuse it. If the text in a particular language does not exist, then a developer has to create a new text. This can be accomplished by creating a new entry in a text table or in a text resource file and assign a key to it. This key will then be used to access the language-dependent text at runtime.
However, the current system are deficient in that their creation of new language-dependent text for a particular textual expression can consume development time, produce unnecessary keys, generate significant redundant work for the developer in generating these keys, as well as incur time delay and additional cost.